package com;

import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.List;

/*
给定一组非负整数 nums，重新排列每个数的顺序（每个数不可拆分）使之组成一个最大的整数。

注意：输出结果可能非常大，所以你需要返回一个字符串而不是整数。

示例 1：

输入：nums = [10,2]
输出："210"
示例2：

输入：nums = [3,30,34,5,9]
输出："9534330"
示例 3：

输入：nums = [1]
输出："1"
示例 4：

输入：nums = [10]
输出："10"

来源：力扣（LeetCode）
链接：https://leetcode-cn.com/problems/largest-number
著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
 */
public class Test {

    public static void main(String[] args) {

        List<int[]> param = new ArrayList<>();
        param.add(new int[]{10, 2});
        param.add(new int[]{3, 30, 34, 5, 9});
        param.add(new int[]{1});
        param.add(new int[]{10});

        List<String> answer = new ArrayList<>();
        answer.add("210");
        answer.add("9534330");
        answer.add("1");
        answer.add("10");

        int total_case = param.size();
        int success_case = 0;
        com.solution.sort.Solution solution = new com.solution.sort.Solution();
        for ( int i = 0 ; i < total_case ; i++ ) {
            String result = solution.largestNumber(param.get(i));
            if ( answer.get(i).equals(result) )
                success_case++;
        }

        DecimalFormat df = new DecimalFormat();
        df.setMaximumFractionDigits(2);
        df.setMinimumFractionDigits(2);
        String percentage = df.format((double) success_case / total_case * 100.00) + "%";
        System.out.println("测试案例通过率：" + percentage);

    }
}
